// 引入文章数据模型
let articleModel = require('../model/articleModel');
// 引进moment.js
let moment = require('moment');

// 导出文章控制器
module.exports = {
    // 处理文章发表 -  post
    handleArticlePost : (req,res) => {
        let newArticle = req.body;
        newArticle.userId = req.session.user.id;
        newArticle.ctime = new Date();
        // console.log(newArticle);
        articleModel.addArticle(newArticle,(err,data) => {
            if (err) return res.json({status:0,msg:"数据库操作失败"});
            // 数据库操作成功
            // console.log(data);
            /* 打印出来的data是一个对象，其中insertId为当前发表成功的文章对应的id */ 
            res.json({status:1,articleId:data.insertId});
        });
    },
    // 显示当前发表成功文章的详情页
    showArticleDetail: (req, res) => {
        // 获取文章的id
        let articleId = req.query.id;
        articleModel.queryArticle(articleId, (err, data) => {
            if (err) return res.json({ status: 0, msg: "查询数据库操作操作失败" });
            // 数据库操作成功   --  渲染详情页
            // console.log(data);
            // 使用moment模块修改时间的显示模式
            data[0].ctime = moment(data[0].ctime).format("MM-DD-YYYY");
            
            res.render('article/detail', {
                article: data[0],
                islogin: req.session.islogin,
                user: req.session.user
            });
      })  
    },
    // 处理显示文章编辑页
    showArticleEdit: (req, res) => {
        let articleId = req.query.id;
        articleModel.queryArticle(articleId, (err, data) => {
            if (err) return res.json({status: 0, msg: "操作数据库失败" });
            // 操作数据库成功
            res.render('article/edit', {
                article: data[0],
                islogin:req.session.islogin,
                user:req.session.user
            });
        })
    },
    // 处理文章的信息更新
    handleArticleEdit: (req, res) => {
        // 获取更新文章的表单数据
        let article = req.body;
        // 重新获取更新时间
        article.ctime = new Date();
        // console.log(article);
        articleModel.updateArticle(article, (err, data) => {
            if (err) return res.json({ status: 0, msg: "数据库操作失败，文章编辑失败" });
            // 数据库操作成功
            res.json({
                status: 1, 
                articleId: article.id
            });
        });
    }
}